1
硬體排序的困境
AI032Lesson 7
00:00

在高性能硬體中,速度就是生命。想像一顆 GPU 正在執行 Z-緩衝:它必須每秒排序數百萬個深度值,以判斷哪個像素在前方。為了達成此目標,工程師仰賴 無符號數字比較器,一種簡化電路,可從最左位(MSB)到最右位(LSB)逐位處理,且無任何認知負擔。

二補數的失敗

標準的二補數無法通過這種「笨拙硬體」的測試。因為負數的符號位為 1,正數則為 0,所以像 -1(111...)在位元層面上看起來比 +1(001...)還大。這造成了 不連續性,迫使硬體使用複雜且較慢的條件邏輯來判斷數值大小。

單調性解決方案

為恢復效率,我們採用 偏移編碼 (偏置表示法)。透過將範圍平移,使最小可能的值對應至 000... ,而最大值則對應至 111...,確保位元模式能唯一識別一個數值,使其 字典序 完全符合其數值順序。

圖 7.1:二補數失敗圖 7.2:偏移-3 勝利十進制 | 位元-1 | 111 0 | 000邏輯跳躍!十進制 | 位元-3 | 000-2 | 001-1 | 010 0 | 011單調遞增

此特性讓『笨拙』的硬體比較器能立即處理『聰明』的浮點資料。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>